
<HTML>

<HEAD>
<TITLE>Bugs fixed in V0.2-3</TITLE>
<LINK REV="made"     HREF="mailto:ronald@innovation.ch">
<LINK REL="Previous" HREF="index.html">
</HEAD>

<BODY BGCOLOR="#FFFFFF">


<H1>Bugs fixed in V0.2-3</H1>

<P>There have been a few more bugs since the release of the last bug fix
   version V0.2-2 and which this release attempts to fix. Here is the list
   of them:

<UL>

<LI> The authorization header parser has been reworked. There were some bugs
     and a few cases where it was unecessarily picky.

<LI> The <var>Codecs.java</var> contained some code where, according to the
     JLS, an explicit cast is needed; however javac compiled it fine... It
     should now compile on all compilers.

<LI> The <var>Codecs.java</var> and <var>Util.java</var> contained some legal
     code which the Visual J++ compiler unfortunately was not able to deal
     with. They have been rewritten.

<LI> <var>HTTPResponse.getHeaderAsInt()</var> was supposed to return -1 if
     the header didn't exist. However, it didn't, and anyway, this was
     bad design in the first place. It now throws
     <var>NumberFormatException</var> if the header does not exist or
     it's value is not a number.

<LI> <var>HTTPResponse.getHeaderAsDate()</var> was supposed to return null
     if the header didn't exists. However, it didn't. Now it does.

<LI> There was a problem where, if the responses weren't closed by the caller
     of the library, a number of Timeout threads would hang about. These
     threads are killed now and the GC should be able to clean up stuff.
     However, the caller code should always call either <var>getData()</var>
     or <var>getInputStream()</var> and <var>close()</var> on every response
     to make sure the response stream is closed in a timely fashion.

<LI> A minor bug caused connections to an HTTP/1.1 server to sometimes be
     closed unecessarily. This had no impact on the correct functioning,
     though.

<LI> A few bugs in the StreamDemultiplexor were fixed. The effect was that
     exceptions weren't always correctly thrown.

<LI> a new method <var>Post(String, NVPair[], NVPair[])</var> has been added
     to HTTPConnection. This was missing and will be available in all future
     versions of the client.

<LI> a rudimentary <var>stop()</var> method has been added to HTTPConnection
     which will abort current transaction and close the socket. However,
     there are some problems with it and a cleaner version will be
     supplied in V0.3. It is recommened therefore that this method not be
     used unless absolutely necessary.

<LI> Added method <var>HTTPResponse.getLocalPort()</var>. This was added
     because of a request to do so. However, I'm unclear as to why this
     would be useful.  If you need/use this method, please let me know.
     Otherwise I'll remove it again.

</UL>


<P>
<A HREF="index.html">
<IMG SRC="images/back.gif" ALT="[HTTPClient]"></A>
<HR>

<ADDRESS>
Ronald Tschal&auml;r / 27 October 1997 /
<A HREF="mailto:ronald@innovation.ch">ronald@innovation.ch</A>.
</ADDRESS>

</BODY>

</HTML>

